package com.xbai.goods.service;

import com.github.pagehelper.PageInfo;
import com.xbai.goods.pojo.Category;

import java.util.List;

/**
 * @desc Category业务层接口
 * @author jxbai
 * @date 2021/1/28
 */
public interface CategoryService {

    /**
     * 根据分类的父ID查询子分类节点集合
     * @param pid 父ID
     * @return {@link List<Category>}
     */
    List<Category> findByParentId(Integer pid);

    /**
     * Category条件+分页查询
     * @param category {@link Category}
     * @param page 页码
     * @param size 页大小
     * @return {@link PageInfo<Category>} 分页结果
     */
    PageInfo<Category> findPage(Category category, int page, int size);

    /**
     * Category分页查询
     * @param page 页码
     * @param size 页大小
     * @return {@link PageInfo<Category>}
     */
    PageInfo<Category> findPage(int page, int size);

    /**
     * Category条件查询
     * @param category {@link Category}
     * @return {@link List < Category >}
     */
    List<Category> findList(Category category);

    /**
     * 删除Category
     * @param id 主键id
     */
    void delete(Integer id);

    /**
     * 修改Category数据
     * @param category {@link Category}
     */
    void update(Category category);

    /**
     * 新增Category
     * @param category {@link Category}
     */
    void add(Category category);

    /**
     * 根据ID查询Category
     * @param id 主键id
     * @return {@link Category}
     */
     Category findById(Integer id);

    /**
     * 查询所有Category
     * @return {@link List < Category >}
     */
    List<Category> findAll();
}
